﻿namespace Pap.Historical.Web
{
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System;

    [MetadataType(typeof(CustomerLoanHistoryMetaData))]
    partial class CustomerLoanHistory
    {

    }

    [MetadataType(typeof(LoanHistoryCloseTypeMetaData))]
    partial class LoanHistoryCloseType
    {

    }

    [MetadataType(typeof(ProjectStagesMetaData))]
    public partial class ProjectStage
    {
        public override string ToString()
        {
            
            return Stage.ToString();

        }

    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class ProjectStagesMetaData
    {

    }

    [DisplayName("القروض المنتهية")]
    public class CustomerLoanHistoryMetaData
    {
        [Required(ErrorMessage = "يجب ادخال الكود")]
        [System.ComponentModel.DataAnnotations.UIHint("GuidText")]
        [DisplayName("كود القرض")]
        public Guid LoanHistoryID { get; set; }

        [DisplayName("أسم العميل")]
        [Required(ErrorMessage = "يجب ادخال اسم العميل")]
        public object CustomerName { get; set; }

        [DisplayFormat(DataFormatString = "{0: dd/MM/yyyy}")]
        [DisplayName("تاريخ التنفيذ")]
        public object LoanExecutionDate { get; set; }

        [Required(ErrorMessage = "يجب ادخال مرحلة العميل")]
        [DisplayName("مرحلة")]
        public object ProjectStage { get; set; }

        [DisplayName("الكود القديم للعميل")]
        public object OldCustomerCode { get; set; }

        [DisplayName("ايام التأخير التصلة")]
        public object LastConsecutiveDelay { get; set; }

        [DisplayName("أيام التأخير المنفصلة")]
        public object LastDiscreteDelay { get; set; }

        [DisplayName("تاريخ اغلاق القرض")]
        public object LoanCloseDate { get; set; }

        [DisplayName("ملاحظات")]
        public object Notes { get; set; }

        [Required(ErrorMessage = "يجب ادخال حالة اغلاق القرض الاخير")]
        [DisplayName("حالة اغلاق القرض ")]
        public object LoanHistoryCloseType { get; set; }

        [ScaffoldColumn(false)]
        public object CustomerLoan { get; set; }

    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class LoanHistoryCloseTypeMetaData
    {
    }

    

    [MetadataType(typeof(CustomerMetaData))]
    partial class Customer
    {

    }

    [DisplayName("العملاء")]
    public class CustomerMetaData
    {
        const string Dateformate = "{0:dd/MM/yyyy}";//System.Configuration.ConfigurationManager.AppSettings["DateFormat"];

        [Required(ErrorMessage = "يجب ادخال الكود")]
        [System.ComponentModel.DataAnnotations.UIHint("GuidText")]
        [DisplayName("كود العميل")]
        public Guid CustomerID { get; set; }

        [DisplayName("أسم العميل")]
        [Required(ErrorMessage = "يجب ادخال اسم العميل")]
        public object CustomerName { get; set; }

        [DisplayName("تاريخ الميلاد")]
        [Required(ErrorMessage = "يجب ادخال تاريخ الميلاد")]
        [DisplayFormat(DataFormatString=Dateformate,ApplyFormatInEditMode=true)]
        public object Birthdate { get; set; }

        [Range(1,2,ErrorMessage="يجب ادخال 1 للرجل و 2 للمراة")]
        [DisplayName("الجنس")]
        [Required(ErrorMessage = "يجب ادخال الجنس")]
        public object Gender { get; set; }

        [DisplayName("بطاقة رقم قومى")]
        [Required(ErrorMessage = "يجب ادخال الرقم القومى")]
        public object SSN { get; set; }

        [DisplayName("تاريخ اصدار البطاقة")]
        [Required(ErrorMessage = "يجب ادخال تاريخ اصدار البطاقة")]
        [DisplayFormat(DataFormatString = Dateformate, ApplyFormatInEditMode = true)]
        public object SSNCreationDate { get; set; }


        [DisplayName("جهة اصدار البطاقة")]
        [Required(ErrorMessage = "يجب ادخال جهة اصدار البطاقة")]
        public object IssuePlace { get; set; }

        [DisplayName("مكان الميلاد")]
        [Required(ErrorMessage = "يجب ادخال مكان الميلاد")]
        public object Center { get; set; }

        [DisplayName("العنوان")]
        [Required(ErrorMessage = "يجب ادخال العنوان")]
        public object Address { get; set; }

        [DisplayName("الوظيفة")]
        [Required(ErrorMessage = "يجب ادخال الوظيفة")]
        public object CurrentJob { get; set; }

        [DisplayName("حالة التجنيد")]
        [Required(ErrorMessage = "يجب ادخال حالة التجنيد")]
        public object MilitaryStatuse { get; set; }

        [DisplayName("تأجيل التجنيد حتى")]
        [DisplayFormat(DataFormatString = Dateformate, ApplyFormatInEditMode = true)]
        public object MilitaryPostpondingDate { get; set; }

        [DisplayName("الحالة الاجتماعية")]
        [Required(ErrorMessage = "يجب ادخال الحالة الاجتماعية")]
        public object SocialStatuse { get; set; }
        
        [DisplayName("مستوى التعليم")]
        [Required(ErrorMessage = "يجب ادخال مستوى التعليم")]
        public object EducationalLevel { get; set; }

    }


    [MetadataType(typeof(CustomerLoanMetaData))]
    partial class CustomerLoan
    {
        public override string ToString()
        {
            return LoanNumber.ToString() ;
        }
    }

    [DisplayName("قروض العملاء")]
    public class CustomerLoanMetaData
    {
        const string Dateformate = "{0:dd/MM/yyyy}";//System.Configuration.ConfigurationManager.AppSettings["DateFormat"];

        [Required(ErrorMessage = "يجب ادخال الكود")]
        [System.ComponentModel.DataAnnotations.UIHint("GuidText")]
        [DisplayName("كود ")]
        public Guid LoanID { get; set; }

        [DisplayName("كود القرض")]
        [Required(ErrorMessage = "يجب ادخال كود القرض")]
        public object LoanNumber { get; set; }

        [System.ComponentModel.DataAnnotations.ScaffoldColumn(false)]
        public object GuarantorID { get; set; }

        [DisplayName("اسم القرض")]
        [Required(ErrorMessage = "يجب ادخال اسم القرض")]
        public object LoanName { get; set; }

        [DisplayName("عنوان المشروع")]
        [Required(ErrorMessage = "يجب ادخال عنوان المشروع")]
        public object LoanAddress { get; set; }

        [DisplayName("القيمة المطلوبة")]
        [Required(ErrorMessage = "يجب ادخال القيمة المطلوبة")]
        public object LoanAmount { get; set; }

        [DisplayName("مدة السداد")]
        [Required(ErrorMessage = "يجب ادخال مدة السداد")]
        public object LoanPaymentPeriod { get; set; }

        [DisplayName("الديون الحالية")]
        [Required(ErrorMessage = "يجب ادخال الديون الحالية")]
        public object FamilyCurrentDebts { get; set; }

        [DisplayFormat(DataFormatString = Dateformate, ApplyFormatInEditMode = true)]
        [Required(ErrorMessage = "يجب ادخال تاريخ القرض")]
        public object LoanCreatedDate { get; set; }

        [DisplayName("له صلة قرابة باحد الاعضاء")]
        [Required(ErrorMessage = "يجب ادخال الصلة")]
        public object RelationWithManagers { get; set; }

        [DisplayName("المشروع قائم")]
        [Required(ErrorMessage = "يجب ادخال هل اللمشروع قائم؟")]
        public object IsLoanProjectExist { get; set; }

        [System.ComponentModel.DataAnnotations.ScaffoldColumn(false)]
        public object Customer1 { get; set; }

        [DisplayName("العميل")]
        [Required(ErrorMessage = "يجب اختيار العميل")]
        public object Customer { get; set; }

        [DisplayName("الجمعية")]
        [Required(ErrorMessage = "يجب اختيار الجمعية")]
        public object Committee { get; set; }

        [DisplayName("نوع مكان المشروع")]
        [Required(ErrorMessage = "يجب اختيار نوع مكان المشروع")]
        public object LoanPlaceType { get; set; }

        [DisplayName("نوع القرض")]
        [Required(ErrorMessage = "يجب اختيار نوع القرض")]
        public object LoanType { get; set; }

        [DisplayName("طريقة الدفع")]
        [Required(ErrorMessage = "يجب اختيار طريقة الدفع")]
        public object LoanPaymentMethod { get; set; }

        [DisplayName("الصورة القانونية للمشروع")]
        [Required(ErrorMessage = "يجب اختيار الصورة القانونية للمشروع")]
        public object LoanLegalForm { get; set; }

        [DisplayName("مسئول ميدانى")]
        [Required(ErrorMessage = "يجب اختيار المسئول الميدانى")]
        public object User { get; set; }

        [DisplayName("مرحلة المشروع")]
        [Required(ErrorMessage = "يجب اختيار مرحلة المشروع")]
        public object ProjectStage { get; set; }

        [ScaffoldColumn(false)]
        public object Receipt { get; set; }
    }

    [MetadataType(typeof(CustomerPhonesMetaData))]
    partial class CustomerPhone
    {
        
    }

    [DisplayName("تليفونات العميل")]
    public class CustomerPhonesMetaData
    {
        
        [Required(ErrorMessage = "يجب ادخال الكود")]
        [System.ComponentModel.DataAnnotations.UIHint("GuidText")]
        [DisplayName("كود التليفون")]
        public Guid PhoneID { get; set; }

        [DisplayName("نوع التليفون")]
        [Required(ErrorMessage = "يجب ادخال نوع التليفون")]
        [Range(1, 2, ErrorMessage = "يجب ادخال 1 للتليفون الارضي و 2 للمحمول")]
        public object  PhoneType{ get; set; }

        [DisplayName("رقم التليفون")]
        [Required(ErrorMessage = "يجب ادخال رقم التليفون")]
        public object PhoneNumber { get; set; }

        [DisplayName("العميل")]
        [Required(ErrorMessage = "يجب اختيار العميل")]
        public object Customer { get; set; }
    }

    [MetadataType(typeof(LoanSocialResearchMetaData))]
    public partial class LoanSocialResearch
    {
 
    }

    [DisplayName("البحث الاجتماعى")]
    public class LoanSocialResearchMetaData
    {
        const string Dateformate = "{0:dd/MM/yyyy}";//System.Configuration.ConfigurationManager.AppSettings["DateFormat"];

        [Required(ErrorMessage = "يجب ادخال الكود")]
        [System.ComponentModel.DataAnnotations.UIHint("GuidText")]
        [DisplayName("كود البحث")]
        public Guid LoanSocialResearchID { get; set; }

        [DisplayName("القرض")]
        [Required(ErrorMessage = "يجب ادخال القرض")]
        public object CustomerLoan { get; set; }

        [DisplayName("التاريخ")]
        [Required(ErrorMessage = "يجب ادخال التاريخ")]
        [DisplayFormat(DataFormatString = Dateformate, ApplyFormatInEditMode = true)]
        public object SocialResearchDate { get; set; }

        [DisplayName("عدد الاسرة")]
        [Required(ErrorMessage = "يجب ادخال عدد افراد الاسرة")]
        [Range(0, 50, ErrorMessage = "يجب ادخال رقم من 0 الى 50")]
        public object FamilyNumbers { get; set; }

        [DisplayName("الدخل")]
        [Required(ErrorMessage = "يجب ادخال الدخل")]
        public object IncomeAmount { get; set; }

        [DisplayName("ملاحظات")]
        public object Notes { get; set; }
    }

    [MetadataType(typeof(LoanFeasabilityStudyMetaData))]
    public partial class LoanFeasabilityStudy
    {

    }

    [DisplayName("دراسة الجدوى")]
    public class LoanFeasabilityStudyMetaData
    {
        const string Dateformate = "{0:dd/MM/yyyy}";//System.Configuration.ConfigurationManager.AppSettings["DateFormat"];

        [Required(ErrorMessage = "يجب ادخال الكود")]
        [System.ComponentModel.DataAnnotations.UIHint("GuidText")]
        [DisplayName("كود الدراسة")]
        public Guid LoanFeasabilityStudyID { get; set; }

        [DisplayName("القرض")]
        [Required(ErrorMessage = "يجب ادخال القرض")]
        public object CustomerLoan { get; set; }

        [DisplayName("التاريخ")]
        [Required(ErrorMessage = "يجب ادخال التاريخ")]
        [DisplayFormat(DataFormatString = Dateformate, ApplyFormatInEditMode = true)]
        public object FeasabilityStudyDate { get; set; }

        [DisplayName("ايرادات")]
        [Required(ErrorMessage = "يجب ادخال الايرادات")]
        [Range(0, 1000000, ErrorMessage = "يجب ادخال رقم من 0 الى 1000000")]
        public object RevenueAmount { get; set; }

        [DisplayName("تكلفة")]
        [Required(ErrorMessage = "يجب ادخال التكلفة")]
        [Range(0, 1000000, ErrorMessage = "يجب ادخال رقم من 0 الى 1000000")]
        public object CostAmount { get; set; }

        [DisplayName("صافى الربح")]
        [Required(ErrorMessage = "يجب ادخال صافى الربح")]
        public object ProfitAmount { get; set; }

        [DisplayName("العائد على الاستثمار")]
        [Required(ErrorMessage = "يجب ادخال العائد على الاستثمار")]
        public object ReturnOnInvestmentPercent { get; set; }

        [DisplayName("قيمة القرض")]
        [Required(ErrorMessage = "يجب ادخال قيمة القرض المقترحة")]
        public object LoanAmount { get; set; }

        [DisplayName("عدد الشهور")]
        [Required(ErrorMessage = "يجب ادخال عدد الشهور")]
        [Range(0, 100, ErrorMessage = "يجب ادخال رقم من 0 الى 100")]
        public object LoanPaymentPeriod { get; set; }

        [DisplayName("طريقة الدفع")]
        [Required(ErrorMessage = "يجب ادخال طريقة الدفع")]
        public object LoanPaymentMethod { get; set; }

        [DisplayName("ملاحظات")]
        public object Notes { get; set; }
    }

    [MetadataType(typeof(LoanExecutionMetaData))]
    public partial class LoanExecution
    {

    }

    [DisplayName("تنفيذ القروض")]
    public class LoanExecutionMetaData
    {
        const string Dateformate = "{0:dd/MM/yyyy}";//System.Configuration.ConfigurationManager.AppSettings["DateFormat"];

        [Required(ErrorMessage = "يجب ادخال الكود")]
        [System.ComponentModel.DataAnnotations.UIHint("GuidText")]
        [DisplayName("كود الدراسة")]
        public Guid LoanExecutionID { get; set; }

        [DisplayName("القرض")]
        [Required(ErrorMessage = "يجب ادخال القرض")]
        public object CustomerLoan { get; set; }

        [DisplayName("اسم الضامن")]
        [Required(ErrorMessage = "يجب ادخال اسم الضامن")]
        public object GuarantorName { get; set; }

        [DisplayName("عنوان الضامن")]
        public object GuarantorAddress { get; set; }

        [DisplayName("رقم بطاقة الضامن")]
        [Required(ErrorMessage = "يجب ادخال رقم بطاقة الضامن")]
        public object GuarantorSSN { get; set; }

        [DisplayName("نسبة الربح")]
        [Required(ErrorMessage = "يجب ادخال نسبة الربح")]
        public object InterestPercentage { get; set; }

        [DisplayName("طريقة الدفع")]
        [Required(ErrorMessage = "يجب ادخال طرقة الدفع")]
        public object LoanPaymentMethod { get; set; }

        [DisplayName("عدد شهور السداد")]
        [Required(ErrorMessage = "يجب ادخال عدد الشهور")]
        public object LoanPeriod { get; set; }

        [DisplayName("قيمة القرض")]
        [Required(ErrorMessage = "يجب ادخال قيمة القرض")]
        public object LoanAmount { get; set; }

        [DisplayName("اجمالى قيمة القرض بعد اضافة نسبة الربح")]
        [Required(ErrorMessage = "يجب ادخال اجمالى قيمة القرض")]
        public object TotalLoanAmount { get; set; }

        [DisplayName("تاريخ التنفيذ")]
        [Required(ErrorMessage = "يجب ادخال تاريخ التنفيذ")]
        [DisplayFormat(DataFormatString = Dateformate, ApplyFormatInEditMode = true)]
        public object ExecutionDate { get; set; }

        [DisplayName("رقم الشيك")]
        [Required(ErrorMessage = "يجب ادخال رقم الشيك")]
        public object CheckNumber { get; set; }

        [DisplayName("تاريخ الشيك")]
        [Required(ErrorMessage = "يجب ادخال تاريخ الشيك")]
        [DisplayFormat(DataFormatString = Dateformate, ApplyFormatInEditMode = true)]
        public object CheckDate { get; set; }

        [DisplayName("هل تم التنفيذ")]
        public object LoanExecutionStatus { get; set; }
    }


    [MetadataType(typeof(BoardMetaData))]
    public partial class Board
    {
        public override string  ToString()
        {
 	        return BoardNumber.ToString();
        }
    }

    [DisplayName("اللجان")]
    public class BoardMetaData
    {
        const string Dateformate = "{0:dd/MM/yyyy}";//System.Configuration.ConfigurationManager.AppSettings["DateFormat"];

        [Required(ErrorMessage = "يجب ادخال الكود")]
        [System.ComponentModel.DataAnnotations.UIHint("GuidText")]
        [DisplayName("كود اللجنة")]
        public Guid BoardID { get; set; }

        [DisplayName("رقم اللجنة")]
        [Required(ErrorMessage = "يجب ادخال رقم اللجنة")]
        public object BoardNumber { get; set; }

        [DisplayName("الجمعية")]
        [Required(ErrorMessage = "يجب ادخال الجمعية")]
        public object Committee { get; set; }

        [DisplayName("تاريخ اللجنة")]
        [DisplayFormat(DataFormatString = Dateformate, ApplyFormatInEditMode = true)]
        [Required(ErrorMessage = "يجب ادخال تاريخ اللجنة")]
        public object BoardDate { get; set; }

        
        
        
    }

    [MetadataType(typeof(BoardLoansMetaData))]
    public partial class BoardLoan
    {

    }

    [DisplayName("لجان القروض")]
    public class BoardLoansMetaData
    {
        const string Dateformate = "{0:dd/MM/yyyy}";//System.Configuration.ConfigurationManager.AppSettings["DateFormat"];

        [Required(ErrorMessage = "يجب ادخال اللجنة")]
        [DisplayName("اللجنة")]
        public object Board { get; set; }

        [DisplayName("القرض")]
        [Required(ErrorMessage = "يجب ادخال القرض")]
        public object CustomerLoan { get; set; }

        [DisplayName("قيمة القرض الموافق عليها")]
        [Required(ErrorMessage = "يجب ادخال القيمة")]
        public object BoardLoanAmount { get; set; }

        [DisplayName("عدد شهور الدفع")]
        [Required(ErrorMessage = "يجب ادخال عدد شهور الدفع")]
        public object BoardPaymentPeriod { get; set; }

        [DisplayName("طريقة الدفع")]
        [Required(ErrorMessage = "يجب ادخال طريقة الدفع")]
        public object LoanPaymentMethod { get; set; }

        [ScaffoldColumn(false)]
        public object EnteringNotes { get; set; }

        [DisplayName("ملاحظات")]
        public object StatusNotes { get; set; }


    }


    [MetadataType(typeof(BoardAttendeesMetaData))]
    public partial class BoardAttendee
    {

    }

    [DisplayName("اعضاء اللجنة")]
    public class BoardAttendeesMetaData
    {
        const string Dateformate = "{0:dd/MM/yyyy}";//System.Configuration.ConfigurationManager.AppSettings["DateFormat"];

        [Required(ErrorMessage = "يجب ادخال الكود")]
        [System.ComponentModel.DataAnnotations.UIHint("GuidText")]
        [DisplayName("كود")]
        public Guid BoardAttendeesID { get; set; }

        [Required(ErrorMessage = "يجب اختيار اللجنة")]
        [DisplayName("اللجنة")]
        public object Board { get; set; }

        [DisplayName("العضو")]
        [Required(ErrorMessage = "يجب اختيار عضو")]
        public object User { get; set; }

    }
#region [Not Needed]


    [MetadataType(typeof(IssuePlaceMetaData))]
    partial class IssuePlace
    {
        
    }

    [MetadataType(typeof(CenterMetaData))]
    partial class Center
    {

    }

    [MetadataType(typeof(MilitaryStatuseMetaData))]
    partial class MilitaryStatuse
    {

    }

    [MetadataType(typeof(SocialStatusesMetaData))]
    partial class SocialStatuse
    {

    }

    [MetadataType(typeof(EducationalLevelMetaData))]
    partial class EducationalLevel
    {
        
    }

    [MetadataType(typeof(LoanPaymentMethodMetaData))]
    partial class LoanPaymentMethod
    {
        
    }

    [MetadataType(typeof(LoanTypeMetaData))]
    partial class LoanType
    {

    }

    [MetadataType(typeof(ReceiptMetaData))]
    partial class Receipt
    {

    }
    [MetadataType(typeof(LoanLegalFormMetaData))]
    partial class LoanLegalForm
    {

    }

    [MetadataType(typeof(LoanPlaceTypeMetaData))]
    partial class LoanPlaceType
    {

    }

    

    [MetadataType(typeof(CommitteeMetaData))]
    partial class Committee
    {

    }

    [MetadataType(typeof(UserMetaData))]
    partial class User
    {
        public override string ToString()
        {
            return Username.ToString();
        }
    }


    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class UserMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class CommitteeMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class ProjectStageMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class LoanPlaceTypeMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class LoanLegalFormMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class ReceiptMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class LoanTypeMetaData
    {
    }


    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class LoanPaymentMethodMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class EducationalLevelMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class SocialStatusesMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class IssuePlaceMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class CenterMetaData
    {
    }

    [System.ComponentModel.DataAnnotations.ScaffoldTable(false)]
    public class MilitaryStatuseMetaData
    {
    }
    #endregion
}
